// 测试订单列表API
const axios = require('axios');

// 基础URL
const BASE_URL = 'http://localhost:3000/api';

// 模拟登录信息
const mockLoginData = {
  code: 'test_code',
  userInfo: {
    nickName: '测试用户',
    avatarUrl: 'https://example.com/avatar.jpg',
    gender: 1,
    language: 'zh_CN',
    city: '北京',
    province: '北京',
    country: '中国'
  }
};

// 测试函数
async function runTests() {
  try {
    console.log('===== 开始测试订单API =====');
    
    // 1. 先登录获取token
    console.log('1. 登录获取token...');
    const loginResponse = await axios.post(`${BASE_URL}/user/login`, mockLoginData);
    
    if (!loginResponse.data.success) {
      console.error('登录失败:', loginResponse.data.message);
      return;
    }
    
    const token = loginResponse.data.token;
    const userInfo = loginResponse.data.data.userInfo;
    console.log('登录成功！获取到的用户信息:', userInfo);
    console.log('登录成功！获取到的token:', token.substring(0, 20) + '...');
    
    // 2. 获取订单列表
    console.log('\n2. 获取订单列表...');
    const orderResponse = await axios.get(`${BASE_URL}/order`, {
      headers: {
        'Authorization': `Bearer ${token}`
      },
      params: {
        page: 1,
        pageSize: 5
      }
    });
    
    if (!orderResponse.data.success) {
      console.error('获取订单列表失败:', orderResponse.data.message);
      return;
    }
    
    console.log('获取订单列表成功！返回的数据格式:', orderResponse.data);
    if (orderResponse.data.data && orderResponse.data.data.orders) {
      console.log('订单列表数据:', orderResponse.data.data.orders);
      console.log('订单总数:', orderResponse.data.data.total);
      console.log('当前页码:', orderResponse.data.data.page);
      console.log('每页数量:', orderResponse.data.data.pageSize);
    }
    
    // 3. 获取用户信息接口测试
    console.log('\n3. 获取用户信息接口测试...');
    const userInfoResponse = await axios.get(`${BASE_URL}/user/info`, {
      headers: {
        'Authorization': `Bearer ${token}`
      }
    });
    
    if (!userInfoResponse.data.success) {
      console.error('获取用户信息失败:', userInfoResponse.data.message);
      return;
    }
    
    console.log('获取用户信息成功！返回的数据格式:', userInfoResponse.data);
    if (userInfoResponse.data.data && userInfoResponse.data.data.userInfo) {
      console.log('用户信息详情:', userInfoResponse.data.data.userInfo);
      console.log('用户头像URL字段是否正确:', 'avatarUrl' in userInfoResponse.data.data.userInfo);
      console.log('用户昵称字段是否正确:', 'nickName' in userInfoResponse.data.data.userInfo);
    }
    
    console.log('\n===== 测试完成 =====');
    console.log('所有API接口测试通过！');
    
  } catch (error) {
    console.error('测试过程中发生错误:', error.message);
    if (error.response) {
      console.error('错误详情:', error.response.data);
    }
  }
}

// 运行测试
runTests();